<?php

class Application_Form_Contacto extends Zend_Form
{
    public function init()
    {
	        /* Form Elements & Other Definitions Here ... */
		$this->setName('contacto');
        $this->setMethod('post');
        $this->setAction('/contacto');
        $this->setAttrib('class', 'mod-contacto');
        $this->setDecorators(array('FormElements','Form'));
		
		$decorators = array('ViewHelper', 'Errors', 'Label', 'DtDdWrapper');
		
		// Campo nombre
		$nombre = new Zend_Form_Element_Text('nombre');
        $nombre->setLabel('Nombre:');
        $nombre->setAttrib('size', 30);
        $nombre->setDecorators($decorators);
        //Validate
        $nombre->setRequired(true);
        $nombre->addValidator('NotEmpty');
        $nombre->addErrorMessage('Ingrese su nombre');
		
		// Campo email
		$email = new Zend_Form_Element_Text('email');
		$email->setLabel('Email:');
		$email->setAttrib('size', 30);
		$email->setDecorators($decorators);
		// Validacion
		$email->setRequired(true);
		$email->addValidator('EmailAddress', true, array(
            'messages' => array(
                Zend_Validate_EmailAddress::INVALID => 'El email ingresado no es valido',
                Zend_Validate_EmailAddress::INVALID_FORMAT => 'El email ingresado no es valido',
                Zend_Validate_EmailAddress::INVALID_HOSTNAME => 'El email ingresado no es valido',
                Zend_Validate_EmailAddress::INVALID_MX_RECORD => 'El email ingresado no es valido',
                Zend_Validate_EmailAddress::INVALID_SEGMENT => 'El email ingresado no es valido',
                Zend_Validate_EmailAddress::DOT_ATOM => 'El email ingresado no es valido',
                Zend_Validate_EmailAddress::QUOTED_STRING => 'El email ingresado no es valido',
                Zend_Validate_EmailAddress::INVALID_LOCAL_PART => 'El email ingresado no es valido'
            )
        ));
		$email->addErrorMessage('Verifique el email ingresado '); 
		
		// Campo asunto
		$asunto = new Zend_Form_Element_Text('asunto');
        $asunto->setLabel('Asunto:');
        $asunto->setAttrib('size', 30);
        $asunto->setDecorators($decorators);
        //Validate
        $asunto->setRequired(true);
        $asunto->addValidator('NotEmpty');
        $asunto->addErrorMessage('Ingrese el nombre del tema');
		
		// Campo mensaje
		$mensaje = new Zend_Form_Element_Textarea('mensaje');
		$mensaje->setLabel('Mensaje:')->setAttrib('style', 'vertical-align: top;width: 240px;margin: 0 auto;margin-left: 10px;');;
		$mensaje->setOptions(array('cols' => '4', 'rows' => '4'));
		$mensaje->setDecorators($decorators);
		// Validacion
		$mensaje->setRequired(true);
		$mensaje->addErrorMessage('Ingrese su mensaje ');
		
		$captchaOptions = array(
				'label' => "Ingresa el texto",
				'captcha' => array(
						'captcha'   => 'Image',
						'wordLen'   => 4,
						'width'     => 197,
						'timeout'   => 120,
						'expiration'=> 300,
						'font'      => APPLICATION_PATH . '/../public/ttf/arial.ttf',
						'imgDir'    => APPLICATION_PATH . '/../public/img/captcha',
						'imgUrl'    => '/img/captcha/',
						'gcFreq'    => 5,
						'messages' => array(
								'badCaptcha' => 'Ingrese correctamente el texto'
						)
				)
		);
		$captcha = new Zend_Form_Element_Captcha('captcha', $captchaOptions);
		// $captcha->addErrorMessage('Ingrese correctamente el texto');

		// Boton enviar
		$enviar = new Zend_Form_Element_Submit('Enviar');
		
		// Agregamos los campos al formulario
		$this->addElements(array($nombre,$email,$asunto,$mensaje,$captcha,$enviar));
    }


}

